;;;; -*- mode: Scheme; indent-tabs-mode: nil; fill-column: 80; -*-
;;;; 
;;;; Copyright © 2015 Rémi Delrue <asgeir@free.fr>
;;;; 
;;;; This program is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
;;;; the Free Software Foundation, either version 3 of the License, or
;;;; (at your option) any later version.
;;;; 
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;;; GNU General Public License for more details.
;;;; 
;;;; You should have received a copy of the GNU General Public License
;;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

;; see configuration.scm -- Maxime (2020)
(define-module (rehash fs)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-9)
  #:use-module (system foreign)
  #:use-module (rehash common)
  #:export (make-block-options))


(define* (make-block-options expiration-time anonymity-level
                             #:key (content-priority 365)
                                   (replication-level  1))
  "For the filesharing service at the lower level, everything on the network is
exchanged as blocks. Block options allow you to specify how to publish such
blocks."
  (make-c-struct (list time-absolute uint32 uint32 uint32)
                 (list expiration-time anonymity-level
                       content-priority replication-level)))
